<?php



class Security {


	public static function connecter($login, $passw){
		$user=Utilisateur::load($login);
		if($user && $user->getPassword()==$passw){
			Message::info('Vous êtes maintenant connecté');
			$_SESSION['login']=$login;
		}
		else{
			Message::error('La connexion a échoué');
		}
	}

	
	public static function deconnecter(){
		Message::info('Vous êtes maintenant déconnecté');
		unset($_SESSION['login']);
		session_destroy();
	}
	

	public static function isConnected(){
		return isset($_SESSION['login']);
	}
	
	
	public static function getLogin(){
		if(isset($_SESSION['login'])){
			return $_SESSION['login'];
		}
		return '%visitor%';
	}
	
	
	private static function isPrivatePage(){
		return strpos(Navig::getPageName(),'administration') === 0;
	}
	
	
	
	public static function checkNavigation(){
		//si on est sur une page privée et qu'on est pas connecté
		if(self::isPrivatePage() && !self::isConnected()){
			self::notAllowedPage();
		}
		
		//si c'est une première connexion
		if(!FileSystem::fileExists(Database::CONFIG_FILE)){
			if(Navig::getPageName()!=Navig::FIRST_CONFIG){
				Navig::redirect(Navig::FIRST_CONFIG);
			}
		}
		else{
			//sinon, cette page n'existe plus
			if(Navig::getPageName()==Navig::FIRST_CONFIG){
				self::errorPage();
			}
		}

	}
	
	
	
	public static function errorPage(){
		Navig::goToAccueil();
	}
	
	
	
	public static function notAllowedPage(){
		//on redirige sur la page d'accueil
		Navig::goToAccueil();
	}


}



 
?>